1. Field of the Invention
Aspects of the invention relate to the integration, within local applications, of external operations performed by external components.
2. Description of the Related Art
Organizations often employ computer applications to manage data and perform other processes. Many times, the applications may perform these processes using local operations, including local methods, local functions, local procedures, and the like. Other times, however, the applications require access to external operations that run, for example, on external servers. The external operations may operate in a different environment from the local applications, such that the local applications cannot directly execute them. One typical scenario in which this occurs is when an organization upgrades many of its local applications, but still requires access to external operations running on, for example, legacy systems. Typically, to access such external operations, organizations have been required to customly reprogram at least a portion of their applications. Such customized programming is expensive and time consuming.
In addition, organizations often desire to access external operations of other organizations, such as, for example, operations that allow one organization to order goods or services from another, to communicate, to share information, and the like. In many cases, such external operations have replaced more traditional communication methods, including telephone, facsimile, email, and written communication.
In both cases, accessing external operations typically requires server-to-server communication, where each server contains a communications component configured to send and receive certain information. For example, FIG. 1 illustrates a typical server-to-server communications system 100 used by one organization, in this example a manufacturer, to order widgets, over a computer network, from a supplier. As illustrated in FIG. 1, the manufacturer's server 102 and the widget supplier's server 104 are connected via any public, private, or combination communications link 106, including a direct cable connection, a network such as the Web or the Internet, a Local Area Network (LAN), a Wide Area Network (WAN), a wireless connection, or the like. The manufacturer's server 102 has an order widget component 108 configured to communicate, over the communications link 106, with an order receive component 110 within the widget supplier's server 104. The order widget component 108 and the order receive component 110 may be, for example, server-side Java components that, once instantiated, perform their tasks without significant human interaction. In fact, the order widget component 108 and the receive order component 110 may be entirely transparent to an ordering entity 112.
For example, the order widget component 108 typically transmits an order to the order receive component 110. The order receive component 104 typically records the order, determines that it can be filled, and sends a confirmation message to the order widget component 108. As illustrated, the ordering entity 112 may commence an order by logging into a front-end user interface 114, such as a Java applet, filling out information about the order, such as number of widgets ordered, and requesting transmission of the order. Also, the ordering entity 112 is responsible to determine when more widgets are needed and to order any necessary widgets. Typically, the ordering entity 112 may enter authentication information that is used by the order widget component 108 and the order receive component 110 to ensure security for the transaction. For example, the two components may use Java Authentication and Authorization Service (“JAAS”).
As an increasing number of organizations implement such server-to-server communication, and when organizations must access a growing number of external operations located on legacy systems, the system of FIG. 1 becomes less effective. Each additional external component that must be accessed requires the expenditure of significant resources to manage a typical system such as the system of FIG. 1. Organizations must manage more components, more servers, more user interfaces, more authentication and security information, and the like. Such management may be especially difficult where, as often occurs, each component communicates using different parameters, data formats, and the like. These factors and others diminish the capability of the system of FIG. 1 to scale to match increasing demands. Additionally, systems as shown in FIG. 1 typically perform one isolated function. These isolated server-to-server transfer functions have not been integrated into applications such as workflow processing systems, without requiring customized programming or reprogramming of the applications.